package com.sdy.healthcode.biz.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sdy.healthcode.biz.dto.ThisCourtVO;
import com.sdy.healthcode.biz.model.User;
import com.sdy.mvc.service.BaseService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zzq
 * @since 2020-02-18
 */
public interface UserService extends BaseService<User> {
    User getUserByPhone(String phone);
    User getUserByWxid(String wxid);
    void updateUserWxid(Integer userId, String wxid);
    User createUser(String phone, String wxid);

    /**
     * 手机验证码登录获取用户，不存在则创建
     * @param phone 手机号
     */
    User xGetOrCreateUserByPhone(String phone, String wxid);

    User xGetOrCreateUserByWxid(String wxid);

    /**
     * 校验用户扫码权限
     * @param recorderId 扫码者ID
     * @param userId 用户ID
     */
    Boolean checkPriviledgeOfRecord(Integer recorderId, Integer userId);

    /**
     * 更新用户实名信息
     */
    void updateUserInfo(Integer userId, Integer cardType, String cardId, String addr, String addrLocal, String phone, String name);

    /**
     * 本院人员管理分页
     * @param name
     * @param type
     * @param page
     * @return
     */
    IPage<ThisCourtVO> getPage(String name, Integer type, Integer authScan, Integer authCockpit, Page<ThisCourtVO> page);


    void updAuthScan(Integer id,Integer type);

    /**
     * 驾驶舱权限配置
     * @param id 用户ID
     * @param type 1-取消 2-启用
     */
    void updAuthCockpit(Integer id, Integer type);
}
